USE SERVICIOS
GO
--SP_HELPTEXT [SER_S_Penalidad_Reporte]
GO
IF OBJECT_ID(N'dbo.[SER_S_Penalidad_Reporte]',N'P') IS NOT NULL
   DROP PROCEDURE [SER_S_Penalidad_Reporte];
GO

/**********************************************************
CONCESIONARIOS
	Creado por : RGD
	Modificado por : NA
	Fechas		: 25/02/2011 - SP Inicial
	Objetivo   	: Listado de penalidades para reporte
***********************************************************/
CREATE PROCEDURE [SER_S_Penalidad_Reporte]
	@NO_DOCIDENTIDAD VARCHAR(8),	
	@CO_SERVICIO INT ,
	@FE_INICIO DATETIME,
	@FE_FIN DATETIME  
AS 
BEGIN
SET NOCOUNT ON

	SELECT	RES.CO_RESERVA AS CODIGO,
			UPPER(SER.TX_DESCRIPCION) AS SERVICIO,
			NATSOC.NO_DOCIDENTIDAD AS DNI_SOCIO,
			PERSOC.NO_NOMBRE1 + ' ' + PERSOC.NO_NOMBRE2 AS SOCIO,
			CONVERT(VARCHAR(10),RES.FE_RESERVA,103) AS FE_RESERVA,
			CONVERT(VARCHAR(10),ASI.FE_ASISTENCIA,103) AS FE_ASISTENCIA,
			ASI.FL_ASISTENCIA,
			CONVERT(VARCHAR(10),PEN.FE_FECHA,103) AS FE_PENALIDAD,
			CONVERT(NUMERIC(14,2),PEN.SS_MONTO) AS MONTO,
			CASE PEN.NO_ESTADO 
				WHEN 'GE' THEN 'GENERADO'
				WHEN 'PA' THEN 'PAGADO'
				WHEN 'AN' THEN 'ANULADO' END AS ESTADO
	FROM T_SER_ESI_ReservaServicio RES WITH(NOLOCK)
	INNER JOIN T_SER_ESI_DetallePlanServicioReserva DPS WITH(NOLOCK) ON RES.CO_RESERVA = DPS.CO_RESERVA
	INNER JOIN T_SER_ESI_Servicio SER WITH(NOLOCK) ON DPS.CO_SERVICIO=SER.CO_SERVICIO
	INNER JOIN T_Natural NATSOC WITH(NOLOCK) ON RES.CO_NATURAL=NATSOC.CO_NATURAL
	INNER JOIN T_Persona PERSOC WITH(NOLOCK) ON NATSOC.CO_PERSONA=PERSOC.CO_PERSONA
	INNER JOIN T_SER_ESI_Asistencia ASI WITH(NOLOCK) ON RES.CO_RESERVA=ASI.CO_RESERVA
	INNER JOIN T_SER_ESI_Penalidad PEN WITH(NOLOCK) ON ASI.CO_ASISTENCIA=PEN.CO_ASISTENCIA AND ASI.CO_RESERVA=PEN.CO_RESERVA
	WHERE	SER.CO_SERVICIO = CASE WHEN @CO_SERVICIO = 0 THEN SER.CO_SERVICIO ELSE @CO_SERVICIO END AND
			NATSOC.NO_DOCIDENTIDAD LIKE CASE WHEN LEN(LTRIM(RTRIM(@NO_DOCIDENTIDAD)))=0 THEN NATSOC.NO_DOCIDENTIDAD ELSE @NO_DOCIDENTIDAD + '%' END AND
			ASI.FE_ASISTENCIA BETWEEN @FE_INICIO AND @FE_FIN AND
			ASI.FL_ASISTENCIA = 0

SET NOCOUNT OFF
END


